package ar.edu.utn.frsf.proyectofinal.sistemadecontrolmodbus.service;

import java.util.Date;
import java.util.List;

import ar.edu.utn.frsf.proyectofinal.sistemadecontrolmodbus.devicecontroller.DeviceChangeListener;



public interface DeviceService {
	
	public String getDeviceName();
	public String getDeviceType();
	public Integer getDeviceID();
	public ConnectionState getDeviceState();
	public Date getLastDate();
	public void connect();
	public void disconnect();
	public void addDeviceChangeListener(DeviceChangeListener devlistener);
	public String getDescription();
	public Integer getSoundingtime();
	public boolean getAutoActualization();
	public List<AlarmService> getDeviceAlarmsService();
	public List<AlarmService> getActiveDeviceAlarmsService();
	public List<CompoundCommandService> getCompoundCommandsService();
	public List<SimpleCommandService> getSimpleCommandsService();
	public List<FieldService> getFieldsService();
	
	public static enum ConnectionState { CONNECTED , DISCONNECTED , WAITING , TRYING }

	public void shutDown();
	
	
}
